<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]
        //1.数组去重
        // let result = [...new Set(arr)]  //扩展运算符  因为result的结果是一个对象集合 所以要把它转换为数组形式
        // console.log(result);
        //2.交集
        let arr2 = [4, 5, 6, 5, 6]
        let result = [...new Set(arr)].filter(item => {
            let s2 = new Set(arr2)//4, 5, 6 
            if(s2.has(item)){
                return true
            }else{
                return false
            }
        })
        console.log(result);
        //3.并集
        //先将两个数组进行合并
        let union = [...new Set([...arr, ...arr2])]
        console.log(union);
        //4.差集
        let diff = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)))
        console.log(diff);
    </script>
</body>
</html>